/**************************************************************************
*
* Copyright 2008-2018 by Andrey Butok. FNET Community.
*
***************************************************************************
*
*  Licensed under the Apache License, Version 2.0 (the "License"); you may
*  not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
*  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*
***************************************************************************
*
* @brief FNET Shell Demo (HTTP Server).
*
***************************************************************************/

/************************************************************************
*     Private Definitions.
*************************************************************************/
#ifndef _FAPP_HTTP_H_

#define _FAPP_HTTP_H_

#if (FAPP_CFG_HTTP_CMD || FAPP_CFG_HTTP_TLS_CMD) && FNET_CFG_HTTP_SRV

#define FAPP_HTTP_SRV_MOUNT_NAME   FAPP_FS_MOUNT_NAME
#define FAPP_HTTP_SRV_INDEX_FILE   "index.html"

#if defined(__cplusplus)
extern "C" {
#endif
extern fnet_http_srv_desc_t fapp_http_srv_desc; /* HTTP service descriptor. */

void fapp_http_srv_cmd( fnet_shell_desc_t desc, fnet_index_t argc, fnet_char_t **argv );
void fapp_http_srv_info(fnet_shell_desc_t desc);
void fapp_http_srv_release(void);

#if FAPP_CFG_HTTP_TLS_CMD && FNET_CFG_HTTP_SRV_TLS && FNET_CFG_TLS
extern fnet_http_srv_desc_t fapp_http_srv_tls_desc; /* HTTPS service descriptor. */
void fapp_http_srv_tls_cmd( fnet_shell_desc_t desc, fnet_index_t argc, fnet_char_t **argv );
void fapp_http_srv_tls_release(void);
#endif

#if defined(__cplusplus)
}
#endif

#endif /* (FAPP_CFG_HTTP_CMD || FAPP_CFG_HTTP_TLS_CMD) && FNET_CFG_HTTP_SRV */

#if FAPP_CFG_HTTPC_CMD && FNET_CFG_HTTP_CLN

#if defined(__cplusplus)
extern "C" {
#endif

void fapp_http_cln_cmd( fnet_shell_desc_t desc, fnet_index_t argc, fnet_char_t **argv );
void fapp_http_cln_release(void);

#if defined(__cplusplus)
}
#endif

#endif /* FAPP_CFG_HTTPC_CMD && FNET_CFG_HTTP_CLN */


#endif /*_FAPP_HTTP_H_*/
